GO
0. 前言
Linux系统的学习,可以选用RedHat或CentOS,特别是CentOS,在企业用得最多,当然还会有其它版本的,但学习者还是以这两个版本学习就行,因为这两个版本是兄弟,没有什么区别。有空还可以再研究一下SUSE,有些公司也喜欢用。
对于刚入门或准备入门Linux运维的来说,我们也整理总结了一下10个必须掌握的技术点和相关工具。
1. Linux系统基础
这个是基础中的基础,连这个都不会就别干了。参考书籍,可以看《鸟哥Linux基础篇》,至少要掌握这书60%的内容,没有必要全部都掌握,但基本命令总得会把。
2. 网络服务
服务有很多种,没个公司都会用到不同的,但基础的服务肯定要掌握:
- 如FTP、DNS、SAMBA、邮件,这几个大概学一下就行
- LAMP和LNMP是必须要熟练,我所指的不是光光会搭建,而是要很熟悉里面的相当配置才行
- 因为公司最关键的绝对是Web服务器,所以Nginx和apache要熟悉,特别是Nginx一定要很熟悉才行
- 至少有些公司还会用Tomcat,这个也最好学一下。
其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下它的作用,特别是PHP的那些模块。
前面1和2两点只是基础,也是必要的条件,不能说是工具,以下才是真正要掌握的工具。
3. Shell脚本和另一个脚本语言
Shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU、内存比率的脚本吧,这是最最最基本的了,别以为会写哪些猜数字和计算什么数的吗,这些没什么用,只作学习意义,写系统脚本才是最有意义。
而另一个脚本语言是可选的,一般是3P:Python、Perl和PHP。PHP就不需要考虑了,除非你要做开发,我个人建议学Python会比较好,难实现自动化运维,Perl是文本处理很强大,反正这两个学一个就好了。
4. grep、sed 和 awk工具
必须要掌握。这三个工具称为“正则三剑客”!在掌握这些工具的同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到这三个工具中会很强大,在处理文本内容和过滤Web内容时十分有用,不过在学Shell的同时,一般会经常结合用到的,所以学第3点就会顺便学第4点。
5. 文本处理命令
sort、tr、cat、paste、uniq、tee等,必学内容,也是结合第3点时一并学习的。
6. 数据库
首选MySQL,别问我为什么不学SQLServer和Oracle,因为Linux用的最多的绝对是MySQL,增删该查必须学,特别要学熟练,其它方面可能不太需要,因为运维人员使用最多的还是查,那些优化和开发语句不会让你弄的。
7. 防火墙
不学不行,防火墙也算是个难点,说难不难,说易不易,最重要的是要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用的最多,反正不学就肯定不合格。
8. 监控工具
十分十分重要,我个人建议,最好学习这3个:cacti、nagios和zibbix,企业用得最多的应该是nagios和zibbix,反正都学吧 ,但nagios会有点难,因为会设计到用脚本写自动监控,那个地方很难。
9. 集群和热备
这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰,集群工具有很多,最好学LVS,这是必学,最好也学学nginx集群、反向代理,还有热备,这个就有更多工具能实现了。MySQL热备也要学,就是主从复制,这个别告诉我容易,其实是不容易的,要学懂整个流程一点也不容易,只照着做根本没有意思。
10. 数据备份
不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来。备份工具有很多,如tar、dump、rsync等,最好多了解一下。
11. 结束语
说到这10点已经够你受的了,应该可以入门了,因为有些技术会比较难学,例如apache和Nginx中还有些很重要的技术,如系统调优和服务优化,还有程序优化,这些在没接触工作之前很难学习到的,所以先把这10点学了吧,估计要学习3个月不止。
就脚本那部分已经让你很吃力了,我建议先学熟Shell,等工作后再学另一门脚本语言,这样会比较好。
以上就是踏入Linux运维工程师需要掌握的工具,其实还有很多工具要掌握的,但你在学习环境中是很难学到的。最好,我灾提醒一下,这里所指的工具相当于技能,而不是像Windows和Ubuntu那些图形化工具,那些工具没用的,还有,学Linux就别用图形界面,这样虚拟机就不用吃太多内存。
OK